import axios from "axios"
import Cookie from 'js-cookie';
import router from 'router/main.js';
import qs from "qs";
import {
	sessionSetItem,
	sessionGetItem,
	sessionRemoveItem
} from 'util/index.js';
import {
	Toast,
	Dialog
} from 'vant';

import {
	getAuth
} from 'util/getAuth.js';

// 创建axios 实例
const httpOrgin = 'https://api-cn.faceplusplus.com/';
const service = axios.create({
	baseURL: process.env.BASE_URL,
	timeout: 100000, // 请求超时时间
	paramsSerializer: function (params) {
		return qs.stringify(params, { arrayFormat: 'repeat' })
	},
})
// request 拦截器
service.interceptors.request.use(
	config => {
		// 显示请求loading
		Toast.loading({
			message: '请求中...',
			forbidClick: true,
			loadingType: 'spinner'
		});
		// 这里可以自定义一些config 配置
		const token = sessionGetItem('token');
		console.log(`request拦截器中的token${token}`);
		if (token) {
			config.headers['x-token'] = token;
		}
		let REQUEST_DATA = config.data;
		//统一进行qs模块转换
		config.data = qs.stringify(REQUEST_DATA);
		return config
	},
	error => {
		//  这里处理一些请求出错的情况
		Promise.reject(error)
	}
)

// response 拦截器
service.interceptors.response.use(
	response => {
		const res = response.data;
		// 手动清除请求loading
		Toast.clear();
		console.log(res);

		return res;
		// if (res.code == '0000') {
		// 	return res;
		// } else {
		// 	if (res.code == '0001') {
		// 		// token过期
		// 		sessionRemoveItem('token');
		// 		console.log(`当前路由${router.currentRoute.fullPath}`);
		// 		let redirect = router.currentRoute.fullPath;
		// 		getAuth(redirect);

		// 	} else if (res.code === '1003') {
		// 		// 没有登录
		// 		router.replace({
		// 			path: '/login',
		// 			query: {
		// 				fromRouterPath: router.currentRoute.fullPath
		// 			}
		// 		})
		// 	} else if (res.code === '1004') {
		// 		// 没有注册
		// 		router.replace({
		// 			path: '/register',
		// 			query: {
		// 				fromRouterPath: router.currentRoute.fullPath
		// 			}
		// 		})
		// 	} else {
		// 		// router.push({
		// 		// 	path: 'error',
		// 		// 	query: {
		// 		// 		message: res.message
		// 		// 	}
		// 		// })
		// 	}
		// }
	},
	error => {
		// 手动清除请求loading
		Toast.clear();
		console.log('请求出错了');


		// router.push({
		// 	path: 'error',
		// 	query: {
		// 		message: error.response.data.message
		// 	}
		// })
		return Promise.reject(error)
	}
)

export default service;
